package com.huitu.whht.base.core.api.geo.sws.entities;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.huitu.whht.api.core.common.base.BaseQo;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeDeserializer;
import com.huitu.whht.api.core.common.base.MyLocalDateTimeSerializer;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 说明: 地表水水源地基本信息表查询条件实体类,表名称: WR_SWS_B <br/>
 * 日期: 2018-07-23
 *
 * @author ZhangPeng
 */
@Builder
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)

public class GeoSwsQo extends BaseQo {
    private static final long serialVersionUID = 4L;

    /**
     * (数组)地表水水源地代码
     */
    private List<String> swsCdList;
    /**
     * 地表水水源地代码
     */
    private String swsCd;
    /**
     * 地表水水源地名称
     */
    private String swsNm;
    /**
     * (数组)地表水水源地类型
     */
    private List<String> swsTpList;
    /**
     * (最小)水面面积
     */
    private Double watAMin;
    /**
     * (最大)水面面积
     */
    private Double watAMax;
    /**
     * 水质目标
     */
    private String wqGoal;
    /**
     * (数组)建设状况
     */
    private List<String> consCondList;
    /**
     * (开始时间)投产时间
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime putProdTmBgTm;
    /**
     * (结束时间)投产时间
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime putProdTmEdTm;
    /**
     * (数组)运行状况
     */
    private List<String> runCondList;
    /**
     * (数组)水源供水持续状况
     */
    private List<String> wsCondList;
    /**
     * (数组)供水对象
     */
    private List<String> wsObjList;
    /**
     * (最小)设计年供水人口
     */
    private Double dywsPpMin;
    /**
     * (最大)设计年供水人口
     */
    private Double dywsPpMax;
    /**
     * (最小)设计年供水量
     */
    private Double dywsWMin;
    /**
     * (最大)设计年供水量
     */
    private Double dywsWMax;
    /**
     * (最小)设计日供水量
     */
    private Double ddwsWMin;
    /**
     * (最大)设计日供水量
     */
    private Double ddwsWMax;
    /**
     * (数组)水源地管理单位代码
     */
    private List<String> whsManCdList;
    /**
     * 水源地管理单位代码
     */
    private String whsManCd;
    /**
     * (数组)水源地审批单位代码
     */
    private List<String> whsApprCdList;
    /**
     * 水源地审批单位代码
     */
    private String whsApprCd;
    /**
     * (数组)应急管理单位代码
     */
    private List<String> emCdList;
    /**
     * 应急管理单位代码
     */
    private String emCd;
    /**
     * (开始时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsBgTm;
    /**
     * (结束时间)时间戳
     */
    @JsonDeserialize(using = MyLocalDateTimeDeserializer.class)
    @JsonSerialize(using = MyLocalDateTimeSerializer.class)
    private LocalDateTime tsEdTm;
    /**
     * 备注
     */
    private String nt;
    /**
     * (最小)一级保护区面积
     */
    private Double firProAMin;
    /**
     * (最大)一级保护区面积
     */
    private Double firProAMax;
    /**
     * (最小)二级保护区面积
     */
    private Double secProAMin;
    /**
     * (最大)二级保护区面积
     */
    private Double secProAMax;
    /**
     * (最小)准保护区面积
     */
    private Double norProAMin;
    /**
     * (最大)准保护区面积
     */
    private Double norProAMax;
    /**
     * (数组)否为应急水源地
     */
    private List<String> isEmgList;

}
